﻿/// <reference path="data.js" />

(function (lightSwitchApplication) {

    var $Screen = msls.Screen,
        $defineScreen = msls._defineScreen,
        $DataServiceQuery = msls.DataServiceQuery,
        $toODataString = msls._toODataString,
        $defineShowScreen = msls._defineShowScreen;

    function AddEditCar(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the AddEditCar screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Car" type="msls.application.Car">
        /// Gets or sets the car for this screen.
        /// </field>
        /// <field name="Movements" type="msls.VisualCollection" elementType="msls.application.Movement">
        /// Gets the movements for this screen.
        /// </field>
        /// <field name="Favorites" type="msls.VisualCollection" elementType="msls.application.Favorite">
        /// Gets the favorites for this screen.
        /// </field>
        /// <field name="MovementDate" type="Date">
        /// Gets or sets the movementDate for this screen.
        /// </field>
        /// <field name="details" type="msls.application.AddEditCar.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "AddEditCar", parameters);
    }

    function AddEditFavorite(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the AddEditFavorite screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Favorite" type="msls.application.Favorite">
        /// Gets or sets the favorite for this screen.
        /// </field>
        /// <field name="CarsFiltered" type="msls.VisualCollection" elementType="msls.application.Car">
        /// Gets the carsFiltered for this screen.
        /// </field>
        /// <field name="UserName" type="String">
        /// Gets or sets the userName for this screen.
        /// </field>
        /// <field name="PlaceIsFavorite" type="Boolean">
        /// Gets or sets the placeIsFavorite for this screen.
        /// </field>
        /// <field name="details" type="msls.application.AddEditFavorite.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "AddEditFavorite", parameters);
    }

    function AddEditMovement(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the AddEditMovement screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Movement" type="msls.application.Movement">
        /// Gets or sets the movement for this screen.
        /// </field>
        /// <field name="CarsFiltered" type="msls.VisualCollection" elementType="msls.application.Car">
        /// Gets the carsFiltered for this screen.
        /// </field>
        /// <field name="FavoritesFiltered" type="msls.VisualCollection" elementType="msls.application.Favorite">
        /// Gets the favoritesFiltered for this screen.
        /// </field>
        /// <field name="PlaceId" type="Number">
        /// Gets or sets the placeId for this screen.
        /// </field>
        /// <field name="googleMap" type="String">
        /// Gets or sets the googleMap for this screen.
        /// </field>
        /// <field name="bingMap" type="String">
        /// Gets or sets the bingMap for this screen.
        /// </field>
        /// <field name="directionsItinerary" type="String">
        /// Gets or sets the directionsItinerary for this screen.
        /// </field>
        /// <field name="useBingMap" type="Boolean">
        /// Gets or sets the useBingMap for this screen.
        /// </field>
        /// <field name="DrivingMode" type="Boolean">
        /// Gets or sets the drivingMode for this screen.
        /// </field>
        /// <field name="TrafficMode" type="Boolean">
        /// Gets or sets the trafficMode for this screen.
        /// </field>
        /// <field name="TimeLeft" type="String">
        /// Gets or sets the timeLeft for this screen.
        /// </field>
        /// <field name="MessageHistory" type="String">
        /// Gets or sets the messageHistory for this screen.
        /// </field>
        /// <field name="Message" type="String">
        /// Gets or sets the message for this screen.
        /// </field>
        /// <field name="details" type="msls.application.AddEditMovement.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "AddEditMovement", parameters);
    }

    function AddEditPlace(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the AddEditPlace screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Place" type="msls.application.Place">
        /// Gets or sets the place for this screen.
        /// </field>
        /// <field name="useBingMap" type="Boolean">
        /// Gets or sets the useBingMap for this screen.
        /// </field>
        /// <field name="DrivingMode" type="Boolean">
        /// Gets or sets the drivingMode for this screen.
        /// </field>
        /// <field name="TrafficMode" type="Boolean">
        /// Gets or sets the trafficMode for this screen.
        /// </field>
        /// <field name="directionsItinerary" type="String">
        /// Gets or sets the directionsItinerary for this screen.
        /// </field>
        /// <field name="bingMap" type="String">
        /// Gets or sets the bingMap for this screen.
        /// </field>
        /// <field name="googleMap" type="String">
        /// Gets or sets the googleMap for this screen.
        /// </field>
        /// <field name="MapHelp" type="String">
        /// Gets or sets the mapHelp for this screen.
        /// </field>
        /// <field name="MessagesHistory" type="String">
        /// Gets or sets the messagesHistory for this screen.
        /// </field>
        /// <field name="PlacesRestrictions" type="msls.VisualCollection" elementType="msls.application.PlacesRestriction">
        /// Gets the placesRestrictions for this screen.
        /// </field>
        /// <field name="FlickrImages" type="String">
        /// Gets or sets the flickrImages for this screen.
        /// </field>
        /// <field name="PlaceUrl" type="String">
        /// Gets or sets the placeUrl for this screen.
        /// </field>
        /// <field name="details" type="msls.application.AddEditPlace.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "AddEditPlace", parameters);
    }

    function AddEditPlacesRestriction(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the AddEditPlacesRestriction screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="PlacesRestriction" type="msls.application.PlacesRestriction">
        /// Gets or sets the placesRestriction for this screen.
        /// </field>
        /// <field name="details" type="msls.application.AddEditPlacesRestriction.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "AddEditPlacesRestriction", parameters);
    }

    function AddEditRestriction(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the AddEditRestriction screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Restriction" type="msls.application.Restriction">
        /// Gets or sets the restriction for this screen.
        /// </field>
        /// <field name="FavoritesFiltered" type="msls.VisualCollection" elementType="msls.application.Favorite">
        /// Gets the favoritesFiltered for this screen.
        /// </field>
        /// <field name="RestrictionRegulations" type="msls.VisualCollection" elementType="msls.application.RestrictionRegulation">
        /// Gets the restrictionRegulations for this screen.
        /// </field>
        /// <field name="details" type="msls.application.AddEditRestriction.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "AddEditRestriction", parameters);
    }

    function AddEditRestrictionRegulation(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the AddEditRestrictionRegulation screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="RestrictionRegulation" type="msls.application.RestrictionRegulation">
        /// Gets or sets the restrictionRegulation for this screen.
        /// </field>
        /// <field name="details" type="msls.application.AddEditRestrictionRegulation.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "AddEditRestrictionRegulation", parameters);
    }

    function BrowseCars(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the BrowseCars screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="CarsFiltered" type="msls.VisualCollection" elementType="msls.application.Car">
        /// Gets the carsFiltered for this screen.
        /// </field>
        /// <field name="CarPlateNo" type="String">
        /// Gets or sets the carPlateNo for this screen.
        /// </field>
        /// <field name="details" type="msls.application.BrowseCars.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "BrowseCars", parameters);
    }

    function BrowseFavorites(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the BrowseFavorites screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="FavoritesFiltered" type="msls.VisualCollection" elementType="msls.application.Favorite">
        /// Gets the favoritesFiltered for this screen.
        /// </field>
        /// <field name="FavoriteCarId" type="msls.application.Car">
        /// Gets or sets the favoriteCarId for this screen.
        /// </field>
        /// <field name="FavoritePlaceId" type="msls.application.Place">
        /// Gets or sets the favoritePlaceId for this screen.
        /// </field>
        /// <field name="FavoriteLocarion" type="String">
        /// Gets or sets the favoriteLocarion for this screen.
        /// </field>
        /// <field name="details" type="msls.application.BrowseFavorites.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "BrowseFavorites", parameters);
    }

    function BrowseMovements(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the BrowseMovements screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="MovementsFiltered" type="msls.VisualCollection" elementType="msls.application.Movement">
        /// Gets the movementsFiltered for this screen.
        /// </field>
        /// <field name="MovementPlaceId" type="msls.application.Place">
        /// Gets or sets the movementPlaceId for this screen.
        /// </field>
        /// <field name="MovementCarId" type="msls.application.Car">
        /// Gets or sets the movementCarId for this screen.
        /// </field>
        /// <field name="MovementDate" type="Date">
        /// Gets or sets the movementDate for this screen.
        /// </field>
        /// <field name="movementUpdates" type="String">
        /// Gets or sets the movementUpdates for this screen.
        /// </field>
        /// <field name="details" type="msls.application.BrowseMovements.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "BrowseMovements", parameters);
    }

    function BrowsePlaces(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the BrowsePlaces screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="PlacesFiltered" type="msls.VisualCollection" elementType="msls.application.Place">
        /// Gets the placesFiltered for this screen.
        /// </field>
        /// <field name="PlaceLocation" type="String">
        /// Gets or sets the placeLocation for this screen.
        /// </field>
        /// <field name="PlaceIsShared" type="Boolean">
        /// Gets or sets the placeIsShared for this screen.
        /// </field>
        /// <field name="PlaceUserName" type="String">
        /// Gets or sets the placeUserName for this screen.
        /// </field>
        /// <field name="placeUpdates" type="String">
        /// Gets or sets the placeUpdates for this screen.
        /// </field>
        /// <field name="PlaceIsFavorite" type="Boolean">
        /// Gets or sets the placeIsFavorite for this screen.
        /// </field>
        /// <field name="PlaceId" type="Number">
        /// Gets or sets the placeId for this screen.
        /// </field>
        /// <field name="details" type="msls.application.BrowsePlaces.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "BrowsePlaces", parameters);
    }

    function BrowseRestrictions(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the BrowseRestrictions screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="RestrictionsFiltered" type="msls.VisualCollection" elementType="msls.application.Restriction">
        /// Gets the restrictionsFiltered for this screen.
        /// </field>
        /// <field name="RestrictionMaxHours" type="String">
        /// Gets or sets the restrictionMaxHours for this screen.
        /// </field>
        /// <field name="RestrictionMaxPrice" type="String">
        /// Gets or sets the restrictionMaxPrice for this screen.
        /// </field>
        /// <field name="RestrictionDate" type="Date">
        /// Gets or sets the restrictionDate for this screen.
        /// </field>
        /// <field name="Description" type="String">
        /// Gets or sets the description for this screen.
        /// </field>
        /// <field name="details" type="msls.application.BrowseRestrictions.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "BrowseRestrictions", parameters);
    }

    function FindPlace(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the FindPlace screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="PlaceId" type="Number">
        /// Gets or sets the placeId for this screen.
        /// </field>
        /// <field name="CarId" type="Number">
        /// Gets or sets the carId for this screen.
        /// </field>
        /// <field name="PlaceIsShared" type="Boolean">
        /// Gets or sets the placeIsShared for this screen.
        /// </field>
        /// <field name="FavoritesFiltered" type="msls.VisualCollection" elementType="msls.application.Favorite">
        /// Gets the favoritesFiltered for this screen.
        /// </field>
        /// <field name="PlaceLocation" type="String">
        /// Gets or sets the placeLocation for this screen.
        /// </field>
        /// <field name="PlacesFiltered" type="msls.VisualCollection" elementType="msls.application.Place">
        /// Gets the placesFiltered for this screen.
        /// </field>
        /// <field name="MaxDistance" type="String">
        /// Gets or sets the maxDistance for this screen.
        /// </field>
        /// <field name="MaxCount" type="Number">
        /// Gets or sets the maxCount for this screen.
        /// </field>
        /// <field name="MaxHours" type="String">
        /// Gets or sets the maxHours for this screen.
        /// </field>
        /// <field name="MaxMinutes" type="Number">
        /// Gets or sets the maxMinutes for this screen.
        /// </field>
        /// <field name="MaxPrice" type="String">
        /// Gets or sets the maxPrice for this screen.
        /// </field>
        /// <field name="useBingMap" type="Boolean">
        /// Gets or sets the useBingMap for this screen.
        /// </field>
        /// <field name="bingMap" type="String">
        /// Gets or sets the bingMap for this screen.
        /// </field>
        /// <field name="googleMap" type="String">
        /// Gets or sets the googleMap for this screen.
        /// </field>
        /// <field name="DrivingMode" type="Boolean">
        /// Gets or sets the drivingMode for this screen.
        /// </field>
        /// <field name="directionsItinerary" type="String">
        /// Gets or sets the directionsItinerary for this screen.
        /// </field>
        /// <field name="TrafficMode" type="Boolean">
        /// Gets or sets the trafficMode for this screen.
        /// </field>
        /// <field name="details" type="msls.application.FindPlace.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "FindPlace", parameters);
    }

    function Home(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the Home screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="MenuContent" type="String">
        /// Gets or sets the menuContent for this screen.
        /// </field>
        /// <field name="details" type="msls.application.Home.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "Home", parameters);
    }

    function ViewPlace(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the ViewPlace screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Place" type="msls.application.Place">
        /// Gets or sets the place for this screen.
        /// </field>
        /// <field name="Favorites" type="msls.VisualCollection" elementType="msls.application.Favorite">
        /// Gets the favorites for this screen.
        /// </field>
        /// <field name="PlacesRestrictions" type="msls.VisualCollection" elementType="msls.application.PlacesRestriction">
        /// Gets the placesRestrictions for this screen.
        /// </field>
        /// <field name="useBingMap" type="Boolean">
        /// Gets or sets the useBingMap for this screen.
        /// </field>
        /// <field name="DrivingMode" type="Boolean">
        /// Gets or sets the drivingMode for this screen.
        /// </field>
        /// <field name="TrafficMode" type="Boolean">
        /// Gets or sets the trafficMode for this screen.
        /// </field>
        /// <field name="directionsItinerary" type="String">
        /// Gets or sets the directionsItinerary for this screen.
        /// </field>
        /// <field name="bingMap" type="String">
        /// Gets or sets the bingMap for this screen.
        /// </field>
        /// <field name="googleMap" type="String">
        /// Gets or sets the googleMap for this screen.
        /// </field>
        /// <field name="FlickrImages" type="String">
        /// Gets or sets the flickrImages for this screen.
        /// </field>
        /// <field name="PlaceUrl" type="String">
        /// Gets or sets the placeUrl for this screen.
        /// </field>
        /// <field name="MapHelp" type="String">
        /// Gets or sets the mapHelp for this screen.
        /// </field>
        /// <field name="details" type="msls.application.ViewPlace.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "ViewPlace", parameters);
    }

    function ViewRestriction(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the ViewRestriction screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Restriction" type="msls.application.Restriction">
        /// Gets or sets the restriction for this screen.
        /// </field>
        /// <field name="PlacesRestrictions" type="msls.VisualCollection" elementType="msls.application.PlacesRestriction">
        /// Gets the placesRestrictions for this screen.
        /// </field>
        /// <field name="RestrictionRegulations" type="msls.VisualCollection" elementType="msls.application.RestrictionRegulation">
        /// Gets the restrictionRegulations for this screen.
        /// </field>
        /// <field name="RestrictionUrl" type="String">
        /// Gets or sets the restrictionUrl for this screen.
        /// </field>
        /// <field name="details" type="msls.application.ViewRestriction.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "ViewRestriction", parameters);
    }

    function ViewMovement(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the ViewMovement screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Movement" type="msls.application.Movement">
        /// Gets or sets the movement for this screen.
        /// </field>
        /// <field name="MovementUrl" type="String">
        /// Gets or sets the movementUrl for this screen.
        /// </field>
        /// <field name="TimeLeft" type="String">
        /// Gets or sets the timeLeft for this screen.
        /// </field>
        /// <field name="details" type="msls.application.ViewMovement.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "ViewMovement", parameters);
    }

    function ViewCar(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the ViewCar screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Car" type="msls.application.Car">
        /// Gets or sets the car for this screen.
        /// </field>
        /// <field name="Favorites" type="msls.VisualCollection" elementType="msls.application.Favorite">
        /// Gets the favorites for this screen.
        /// </field>
        /// <field name="CarUrl" type="String">
        /// Gets or sets the carUrl for this screen.
        /// </field>
        /// <field name="details" type="msls.application.ViewCar.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "ViewCar", parameters);
    }

    function ViewFavorite(parameters, dataWorkspace) {
        /// <summary>
        /// Represents the ViewFavorite screen.
        /// </summary>
        /// <param name="parameters" type="Array">
        /// An array of screen parameter values.
        /// </param>
        /// <param name="dataWorkspace" type="msls.application.DataWorkspace" optional="true">
        /// An existing data workspace for this screen to use. By default, a new data workspace is created.
        /// </param>
        /// <field name="Favorite" type="msls.application.Favorite">
        /// Gets or sets the favorite for this screen.
        /// </field>
        /// <field name="details" type="msls.application.ViewFavorite.Details">
        /// Gets the details for this screen.
        /// </field>
        if (!dataWorkspace) {
            dataWorkspace = new lightSwitchApplication.DataWorkspace();
        }
        $Screen.call(this, dataWorkspace, "ViewFavorite", parameters);
    }

    msls._addToNamespace("msls.application", {

        AddEditCar: $defineScreen(AddEditCar, [
            { name: "Car", kind: "local", type: lightSwitchApplication.Car },
            {
                name: "Movements", kind: "collection", elementType: lightSwitchApplication.Movement,
                getNavigationProperty: function () {
                    if (this.owner.Car) {
                        return this.owner.Car.details.properties.Movements;
                    }
                    return null;
                },
                appendQuery: function (MovementDate) {
                    return this.filter("" + ((MovementDate === undefined || MovementDate === null) ? "false" : "(DateFrom ge " + $toODataString(MovementDate, "DateTime?") + ")") + " or (" + ((MovementDate === undefined || MovementDate === null) ? "false" : "(DateFrom le " + $toODataString(MovementDate, "DateTime?") + ")") + " and " + ((MovementDate === undefined || MovementDate === null) ? "false" : "((DateTo ne null) and (DateTo ge " + $toODataString(MovementDate, "DateTime?") + "))") + ")").orderByDescending("DateFrom").expand("Place");
                }
            },
            {
                name: "Favorites", kind: "collection", elementType: lightSwitchApplication.Favorite,
                getNavigationProperty: function () {
                    if (this.owner.Car) {
                        return this.owner.Car.details.properties.Favorites;
                    }
                    return null;
                },
                appendQuery: function () {
                    return this.expand("Place");
                }
            },
            { name: "MovementDate", kind: "local", type: Date }
        ], [
            { name: "Delete" }
        ]),

        AddEditFavorite: $defineScreen(AddEditFavorite, [
            { name: "Favorite", kind: "local", type: lightSwitchApplication.Favorite },
            {
                name: "CarsFiltered", kind: "collection", elementType: lightSwitchApplication.Car,
                createQuery: function (PlateNo) {
                    return this.dataWorkspace.MMC_Content.CarsFiltered(PlateNo);
                }
            },
            { name: "UserName", kind: "local", type: String },
            { name: "PlaceIsFavorite", kind: "local", type: Boolean }
        ], [
            { name: "Delete" },
            { name: "ShowFindPlace" }
        ]),

        AddEditMovement: $defineScreen(AddEditMovement, [
            { name: "Movement", kind: "local", type: lightSwitchApplication.Movement },
            {
                name: "CarsFiltered", kind: "collection", elementType: lightSwitchApplication.Car,
                createQuery: function (PlateNo) {
                    return this.dataWorkspace.MMC_Content.CarsFiltered(PlateNo);
                }
            },
            {
                name: "FavoritesFiltered", kind: "collection", elementType: lightSwitchApplication.Favorite,
                createQuery: function (CarId, PlaceId, Locarion) {
                    return this.dataWorkspace.MMC_Content.FavoritesFiltered(CarId, PlaceId, Locarion).expand("Place");
                }
            },
            { name: "PlaceId", kind: "local", type: Number },
            { name: "googleMap", kind: "local", type: String },
            { name: "bingMap", kind: "local", type: String },
            { name: "directionsItinerary", kind: "local", type: String },
            { name: "useBingMap", kind: "local", type: Boolean },
            { name: "DrivingMode", kind: "local", type: Boolean },
            { name: "TrafficMode", kind: "local", type: Boolean },
            { name: "TimeLeft", kind: "local", type: String },
            { name: "MessageHistory", kind: "local", type: String },
            { name: "Message", kind: "local", type: String }
        ], [
            { name: "Delete" },
            { name: "FavoritesFiltered_ItemTap" },
            { name: "SendMessage" },
            { name: "RouteFromHereToPlace" },
            { name: "RouteFromPlaceToSwap" },
            { name: "FindNearestPlaces" },
            { name: "AddPlaceToFavorites" },
            { name: "MoveToSwap" },
            { name: "ShowFindPlace" }
        ]),

        AddEditPlace: $defineScreen(AddEditPlace, [
            { name: "Place", kind: "local", type: lightSwitchApplication.Place },
            { name: "useBingMap", kind: "local", type: Boolean },
            { name: "DrivingMode", kind: "local", type: Boolean },
            { name: "TrafficMode", kind: "local", type: Boolean },
            { name: "directionsItinerary", kind: "local", type: String },
            { name: "bingMap", kind: "local", type: String },
            { name: "googleMap", kind: "local", type: String },
            { name: "MapHelp", kind: "local", type: String },
            { name: "MessagesHistory", kind: "local", type: String },
            {
                name: "PlacesRestrictions", kind: "collection", elementType: lightSwitchApplication.PlacesRestriction,
                getNavigationProperty: function () {
                    if (this.owner.Place) {
                        return this.owner.Place.details.properties.PlacesRestrictions;
                    }
                    return null;
                },
                appendQuery: function () {
                    return this.expand("Restriction");
                }
            },
            { name: "FlickrImages", kind: "local", type: String },
            { name: "PlaceUrl", kind: "local", type: String }
        ], [
            { name: "Delete" },
            { name: "DrawMapRoute" }
        ]),

        AddEditPlacesRestriction: $defineScreen(AddEditPlacesRestriction, [
            { name: "PlacesRestriction", kind: "local", type: lightSwitchApplication.PlacesRestriction }
        ], [
        ]),

        AddEditRestriction: $defineScreen(AddEditRestriction, [
            { name: "Restriction", kind: "local", type: lightSwitchApplication.Restriction },
            {
                name: "FavoritesFiltered", kind: "collection", elementType: lightSwitchApplication.Favorite,
                createQuery: function (CarId, PlaceId, Locarion) {
                    return this.dataWorkspace.MMC_Content.FavoritesFiltered(CarId, PlaceId, Locarion).expand("Place").expand("Car");
                }
            },
            {
                name: "RestrictionRegulations", kind: "collection", elementType: lightSwitchApplication.RestrictionRegulation,
                getNavigationProperty: function () {
                    if (this.owner.Restriction) {
                        return this.owner.Restriction.details.properties.RestrictionRegulations;
                    }
                    return null;
                },
                appendQuery: function () {
                    return this;
                }
            }
        ], [
            { name: "Delete" },
            { name: "FavoritesFiltered_ItemTap" }
        ]),

        AddEditRestrictionRegulation: $defineScreen(AddEditRestrictionRegulation, [
            { name: "RestrictionRegulation", kind: "local", type: lightSwitchApplication.RestrictionRegulation }
        ], [
            { name: "Delete" }
        ]),

        BrowseCars: $defineScreen(BrowseCars, [
            {
                name: "CarsFiltered", kind: "collection", elementType: lightSwitchApplication.Car,
                createQuery: function (PlateNo) {
                    return this.dataWorkspace.MMC_Content.CarsFiltered(PlateNo);
                }
            },
            { name: "CarPlateNo", kind: "local", type: String }
        ], [
        ]),

        BrowseFavorites: $defineScreen(BrowseFavorites, [
            {
                name: "FavoritesFiltered", kind: "collection", elementType: lightSwitchApplication.Favorite,
                createQuery: function (CarId, PlaceId, Locarion) {
                    return this.dataWorkspace.MMC_Content.FavoritesFiltered(CarId, PlaceId, Locarion).expand("Car").expand("Place");
                }
            },
            { name: "FavoriteCarId", kind: "local", type: lightSwitchApplication.Car },
            { name: "FavoritePlaceId", kind: "local", type: lightSwitchApplication.Place },
            { name: "FavoriteLocarion", kind: "local", type: String }
        ], [
        ]),

        BrowseMovements: $defineScreen(BrowseMovements, [
            {
                name: "MovementsFiltered", kind: "collection", elementType: lightSwitchApplication.Movement,
                createQuery: function (PlaceId, CarId, MovementDate) {
                    return this.dataWorkspace.MMC_Content.MovementsFiltered(PlaceId, CarId, MovementDate).expand("Car").expand("Place");
                }
            },
            { name: "MovementPlaceId", kind: "local", type: lightSwitchApplication.Place },
            { name: "MovementCarId", kind: "local", type: lightSwitchApplication.Car },
            { name: "MovementDate", kind: "local", type: Date },
            { name: "movementUpdates", kind: "local", type: String }
        ], [
            { name: "Refresh" }
        ]),

        BrowsePlaces: $defineScreen(BrowsePlaces, [
            {
                name: "PlacesFiltered", kind: "collection", elementType: lightSwitchApplication.Place,
                createQuery: function (Location, IsShared, UserName, Id) {
                    return this.dataWorkspace.MMC_Content.PlacesFiltered(Location, IsShared, UserName, Id);
                }
            },
            { name: "PlaceLocation", kind: "local", type: String },
            { name: "PlaceIsShared", kind: "local", type: Boolean },
            { name: "PlaceUserName", kind: "local", type: String },
            { name: "placeUpdates", kind: "local", type: String },
            { name: "PlaceIsFavorite", kind: "local", type: Boolean },
            { name: "PlaceId", kind: "local", type: Number }
        ], [
            { name: "ShowFindPlace" }
        ]),

        BrowseRestrictions: $defineScreen(BrowseRestrictions, [
            {
                name: "RestrictionsFiltered", kind: "collection", elementType: lightSwitchApplication.Restriction,
                createQuery: function (Description) {
                    return this.dataWorkspace.MMC_Content.RestrictionsFiltered(Description);
                }
            },
            { name: "RestrictionMaxHours", kind: "local", type: String },
            { name: "RestrictionMaxPrice", kind: "local", type: String },
            { name: "RestrictionDate", kind: "local", type: Date },
            { name: "Description", kind: "local", type: String }
        ], [
        ]),

        FindPlace: $defineScreen(FindPlace, [
            { name: "PlaceId", kind: "local", type: Number },
            { name: "CarId", kind: "local", type: Number },
            { name: "PlaceIsShared", kind: "local", type: Boolean },
            {
                name: "FavoritesFiltered", kind: "collection", elementType: lightSwitchApplication.Favorite,
                createQuery: function (CarId, PlaceId, Locarion) {
                    return this.dataWorkspace.MMC_Content.FavoritesFiltered(CarId, PlaceId, Locarion).expand("Car").expand("Place");
                }
            },
            { name: "PlaceLocation", kind: "local", type: String },
            {
                name: "PlacesFiltered", kind: "collection", elementType: lightSwitchApplication.Place,
                createQuery: function (Location, IsShared, UserName, Id) {
                    return this.dataWorkspace.MMC_Content.PlacesFiltered(Location, IsShared, UserName, Id);
                }
            },
            { name: "MaxDistance", kind: "local", type: String },
            { name: "MaxCount", kind: "local", type: Number },
            { name: "MaxHours", kind: "local", type: String },
            { name: "MaxMinutes", kind: "local", type: Number },
            { name: "MaxPrice", kind: "local", type: String },
            { name: "useBingMap", kind: "local", type: Boolean },
            { name: "bingMap", kind: "local", type: String },
            { name: "googleMap", kind: "local", type: String },
            { name: "DrivingMode", kind: "local", type: Boolean },
            { name: "directionsItinerary", kind: "local", type: String },
            { name: "TrafficMode", kind: "local", type: Boolean }
        ], [
            { name: "ShowStep1_Next" },
            { name: "ShowStep2_Next" },
            { name: "ShowStep2_Back" },
            { name: "ShowStep3_Next" },
            { name: "ShowStep3_Back" },
            { name: "FavoritesFiltered_ItemTap" },
            { name: "ShowStep4_Back" },
            { name: "PlacesFiltered_ItemTap" },
            { name: "ShowStep1_Back" },
            { name: "ShowNearestPlaces" },
            { name: "ShowStep4_Finish" }
        ]),

        Home: $defineScreen(Home, [
            { name: "MenuContent", kind: "local", type: String }
        ], [
        ]),

        ViewPlace: $defineScreen(ViewPlace, [
            { name: "Place", kind: "local", type: lightSwitchApplication.Place },
            {
                name: "Favorites", kind: "collection", elementType: lightSwitchApplication.Favorite,
                getNavigationProperty: function () {
                    if (this.owner.Place) {
                        return this.owner.Place.details.properties.Favorites;
                    }
                    return null;
                },
                appendQuery: function () {
                    return this.expand("Car");
                }
            },
            {
                name: "PlacesRestrictions", kind: "collection", elementType: lightSwitchApplication.PlacesRestriction,
                getNavigationProperty: function () {
                    if (this.owner.Place) {
                        return this.owner.Place.details.properties.PlacesRestrictions;
                    }
                    return null;
                },
                appendQuery: function () {
                    return this.expand("Restriction");
                }
            },
            { name: "useBingMap", kind: "local", type: Boolean },
            { name: "DrivingMode", kind: "local", type: Boolean },
            { name: "TrafficMode", kind: "local", type: Boolean },
            { name: "directionsItinerary", kind: "local", type: String },
            { name: "bingMap", kind: "local", type: String },
            { name: "googleMap", kind: "local", type: String },
            { name: "FlickrImages", kind: "local", type: String },
            { name: "PlaceUrl", kind: "local", type: String },
            { name: "MapHelp", kind: "local", type: String }
        ], [
            { name: "ShowAddEditPlace_Tap" },
            { name: "DrawMapRoute" }
        ]),

        ViewRestriction: $defineScreen(ViewRestriction, [
            { name: "Restriction", kind: "local", type: lightSwitchApplication.Restriction },
            {
                name: "PlacesRestrictions", kind: "collection", elementType: lightSwitchApplication.PlacesRestriction,
                getNavigationProperty: function () {
                    if (this.owner.Restriction) {
                        return this.owner.Restriction.details.properties.PlacesRestrictions;
                    }
                    return null;
                },
                appendQuery: function () {
                    return this.expand("Place");
                }
            },
            {
                name: "RestrictionRegulations", kind: "collection", elementType: lightSwitchApplication.RestrictionRegulation,
                getNavigationProperty: function () {
                    if (this.owner.Restriction) {
                        return this.owner.Restriction.details.properties.RestrictionRegulations;
                    }
                    return null;
                },
                appendQuery: function () {
                    return this;
                }
            },
            { name: "RestrictionUrl", kind: "local", type: String }
        ], [
            { name: "ShowAddEditRestriction_Tap" }
        ]),

        ViewMovement: $defineScreen(ViewMovement, [
            { name: "Movement", kind: "local", type: lightSwitchApplication.Movement },
            { name: "MovementUrl", kind: "local", type: String },
            { name: "TimeLeft", kind: "local", type: String }
        ], [
        ]),

        ViewCar: $defineScreen(ViewCar, [
            { name: "Car", kind: "local", type: lightSwitchApplication.Car },
            {
                name: "Favorites", kind: "collection", elementType: lightSwitchApplication.Favorite,
                getNavigationProperty: function () {
                    if (this.owner.Car) {
                        return this.owner.Car.details.properties.Favorites;
                    }
                    return null;
                },
                appendQuery: function () {
                    return this.expand("Place");
                }
            },
            { name: "CarUrl", kind: "local", type: String }
        ], [
        ]),

        ViewFavorite: $defineScreen(ViewFavorite, [
            { name: "Favorite", kind: "local", type: lightSwitchApplication.Favorite }
        ], [
        ]),

        showAddEditCar: $defineShowScreen(function showAddEditCar(Car, options) {
            /// <summary>
            /// Asynchronously navigates forward to the AddEditCar screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("AddEditCar", parameters, options);
        }),

        showAddEditFavorite: $defineShowScreen(function showAddEditFavorite(Favorite, options) {
            /// <summary>
            /// Asynchronously navigates forward to the AddEditFavorite screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("AddEditFavorite", parameters, options);
        }),

        showAddEditMovement: $defineShowScreen(function showAddEditMovement(Movement, options) {
            /// <summary>
            /// Asynchronously navigates forward to the AddEditMovement screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("AddEditMovement", parameters, options);
        }),

        showAddEditPlace: $defineShowScreen(function showAddEditPlace(Place, options) {
            /// <summary>
            /// Asynchronously navigates forward to the AddEditPlace screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("AddEditPlace", parameters, options);
        }),

        showAddEditPlacesRestriction: $defineShowScreen(function showAddEditPlacesRestriction(PlacesRestriction, options) {
            /// <summary>
            /// Asynchronously navigates forward to the AddEditPlacesRestriction screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("AddEditPlacesRestriction", parameters, options);
        }),

        showAddEditRestriction: $defineShowScreen(function showAddEditRestriction(Restriction, options) {
            /// <summary>
            /// Asynchronously navigates forward to the AddEditRestriction screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("AddEditRestriction", parameters, options);
        }),

        showAddEditRestrictionRegulation: $defineShowScreen(function showAddEditRestrictionRegulation(RestrictionRegulation, options) {
            /// <summary>
            /// Asynchronously navigates forward to the AddEditRestrictionRegulation screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("AddEditRestrictionRegulation", parameters, options);
        }),

        showBrowseCars: $defineShowScreen(function showBrowseCars(options) {
            /// <summary>
            /// Asynchronously navigates forward to the BrowseCars screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 0);
            return lightSwitchApplication.showScreen("BrowseCars", parameters, options);
        }),

        showBrowseFavorites: $defineShowScreen(function showBrowseFavorites(options) {
            /// <summary>
            /// Asynchronously navigates forward to the BrowseFavorites screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 0);
            return lightSwitchApplication.showScreen("BrowseFavorites", parameters, options);
        }),

        showBrowseMovements: $defineShowScreen(function showBrowseMovements(options) {
            /// <summary>
            /// Asynchronously navigates forward to the BrowseMovements screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 0);
            return lightSwitchApplication.showScreen("BrowseMovements", parameters, options);
        }),

        showBrowsePlaces: $defineShowScreen(function showBrowsePlaces(options) {
            /// <summary>
            /// Asynchronously navigates forward to the BrowsePlaces screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 0);
            return lightSwitchApplication.showScreen("BrowsePlaces", parameters, options);
        }),

        showBrowseRestrictions: $defineShowScreen(function showBrowseRestrictions(options) {
            /// <summary>
            /// Asynchronously navigates forward to the BrowseRestrictions screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 0);
            return lightSwitchApplication.showScreen("BrowseRestrictions", parameters, options);
        }),

        showFindPlace: $defineShowScreen(function showFindPlace(options) {
            /// <summary>
            /// Asynchronously navigates forward to the FindPlace screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 0);
            return lightSwitchApplication.showScreen("FindPlace", parameters, options);
        }),

        showHome: $defineShowScreen(function showHome(options) {
            /// <summary>
            /// Asynchronously navigates forward to the Home screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 0);
            return lightSwitchApplication.showScreen("Home", parameters, options);
        }),

        showViewPlace: $defineShowScreen(function showViewPlace(Place, options) {
            /// <summary>
            /// Asynchronously navigates forward to the ViewPlace screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("ViewPlace", parameters, options);
        }),

        showViewRestriction: $defineShowScreen(function showViewRestriction(Restriction, options) {
            /// <summary>
            /// Asynchronously navigates forward to the ViewRestriction screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("ViewRestriction", parameters, options);
        }),

        showViewMovement: $defineShowScreen(function showViewMovement(Movement, options) {
            /// <summary>
            /// Asynchronously navigates forward to the ViewMovement screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("ViewMovement", parameters, options);
        }),

        showViewCar: $defineShowScreen(function showViewCar(Car, options) {
            /// <summary>
            /// Asynchronously navigates forward to the ViewCar screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("ViewCar", parameters, options);
        }),

        showViewFavorite: $defineShowScreen(function showViewFavorite(Favorite, options) {
            /// <summary>
            /// Asynchronously navigates forward to the ViewFavorite screen.
            /// </summary>
            /// <param name="options" optional="true">
            /// An object that provides one or more of the following options:<br/>- beforeShown: a function that is called after boundary behavior has been applied but before the screen is shown.<br/>+ Signature: beforeShown(screen)<br/>- afterClosed: a function that is called after boundary behavior has been applied and the screen has been closed.<br/>+ Signature: afterClosed(screen, action : msls.NavigateBackAction)
            /// </param>
            /// <returns type="WinJS.Promise" />
            var parameters = Array.prototype.slice.call(arguments, 0, 1);
            return lightSwitchApplication.showScreen("ViewFavorite", parameters, options);
        })

    });

}(msls.application));
